home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #337 (1994-06)(Rhein-Sieg-Soft).zip
/
Franz PD Disk #337 (1994-06)(Rhein-Sieg-Soft).adf
/
BootTool2
/
BBSources
/
MessageBB_1.1.asm
< prev
next >
Wrap
Assembly Source File
|
1994-04-26
|
3KB
|
180 lines
; Assembler: DevPac 2.14
; use Tab 11
opt o+,p+
***** Message-Bootblock V1.1 *****
bootcode dc.l $444f5300
dc.l $00000000
dc.l $00000370
move.l 4.w,a6
jsr -132(a6) ; _LVOForbid
.alloc_mem move.l #320+12+100+108,d0 ; BitPlane+BitMap+RastPort+CopperList
move.l #$10002,d1
jsr -198(a6) ; _LVOAllocMem
tst.l d0
beq .dos_boot
move.l d0,d7
.open_gfx lea gfx_lib(pc),a1
moveq #33,d0
jsr -552(a6) ; _LVOOpenLibrary
tst.l d0
beq .free_mem
move.l d0,a6
move.l d7,a1
adda.l #320+12,a1
jsr -198(a6) ; _LVOInitRastPort
move.l d7,a0
adda.l #320,a0
moveq #1,d0
move.l #320,d1
moveq #8,d2
jsr -390(a6) ; _LVOInitBitMap
move.l d7,a0
adda.l #320+12,a0 ; Strukturen verbinden
move.l d7,a1
adda.l #320,a1
move.l d7,a2
move.l a1,$04(a0)
move.l a2,$08(a1)
move.l d7,a1
adda.l #320+12,a1
moveq #52,d0
moveq #6,d1
jsr -240(a6) ; _LVOMove
move.l d7,a1
adda.l #320+12,a1
lea boot_text(pc),a0
moveq #24,d0
jsr -60(a6) ; _LVOText
moveq #107,d0
move.l d7,a0
adda.l #320+12+100,a0
move.l a0,a2
lea coplist(pc),a1
.loop move.b (a1)+,(a0)+
dbf d0,.loop
move.l d7,d0
move.w d0,46(a2) ; BitPlane-Zeiger in
swap d0 ; BPL1PTH / BPL1PTL
move.w d0,42(a2) ; schreiben (s.u.)
lea $dff000,a0
move.l a2,$080(a0) ; COP1LCH
move.w #0,$088(a0) ; COPJMP1
move.w #$8300,$096(a0) ; DMACON
move.w #$000c,d1
move.w #$ffff,d0
.wait nop
dbf.w d0,.wait
dbf.w d1,.wait
move.l $26(a6),$080(a0) ; COP1LCH
move.w #0,$088(a0)
.close_gfx move.l a6,a1
move.l 4.w,a6
jsr -414(a6) ; _LVOCloseLibrary
.free_mem move.l d7,a1
move.l #320+12+100+108,d0
jsr -210(a6) ; _LVOFreeMem
jsr -138(a6) ; _LVOPermit
.dos_boot lea exp_lib(pc),a1
moveq #37,d0
jsr -552(a6) ; _LVOOpenLibrary
tst.l d0
beq.s no_explib
movea.l d0,a1
bset #6,34(a1)
jsr -414(a6) ; _LVOCloseLibrary
no_explib lea dos_lib(pc),a1
jsr -96(a6) ; _LVOFindResident
tst.l d0
beq.s not_found
movea.l d0,a0
movea.l 22(a0),a0
moveq #0,d0
rts
not_found moveq #-1,d0
rts
gfx_lib dc.b "graphics.library",0
dos_lib dc.b "dos.library",0
exp_lib dc.b "expansion.library",0
boot_text dc.b "No Virus on Bootblock !!",0
coplist dc.w $2001,$fffe
dc.w $0100 ; BPLCON0
dc.w $0200
dc.w $008e ; DIWSTRT
dc.w $0581
dc.w $0090 ; DIWSTOP
dc.w $40c1
dc.w $0092 ; DDFSTRT
dc.w $0038
dc.w $0094 ; DDFSTOP
dc.w $00d0
dc.w $0102 ; BPLCON1
dc.w $0000
dc.w $0104 ; BPLCON2
dc.w $0024
dc.w $0108 ; BPL1MOD
dc.w $0000
dc.w $010a ; BPL2MOD
dc.w $0000
dc.w $00e0 ; BPL1PTH
dc.w 0 ; wird während Boot gefüllt (s.o.)
dc.w $00e2 ; BPL1PTL
dc.w 0 ; wird während Boot gefüllt (s.o.)
dc.w $182 ; COLOR01
dc.w $00f0
dc.w $180 ; COLOR00
dc.w $0040
dc.w $9b0f ; Zeile
dc.w $fffe
dc.w $180 ; COLOR00
dc.w $00f0
dc.w $9d0f ; Zeile
dc.w $fffe
dc.w $180 ; COLOR00
dc.w $0000
dc.w $a20f,$fffe
dc.w $0100 ; BPLCON0
dc.w $1200
dc.w $a90f,$fffe
dc.w $0100 ; BPLCON0
dc.w $0200
dc.w $af0f ; Zeile
dc.w $fffe
dc.w $180 ; COLOR00
dc.w $00f0
dc.w $b10f ; Zeile
dc.w $fffe
dc.w $180 ; COLOR00
dc.w $0040
dc.l $fffffffe ; End der CopperList
coplist_end
bootcode_end
end